home *** CD-ROM | disk | FTP | other *** search
/ Xenosoft 2 / Xenosoft 2 (Game collection)(1994).iso / bioforge / script / ai_tumlt.scp < prev    next >
Text File  |  1994-11-22  |  10KB  |  479 lines

  1. { RTMLT1
  2.     ^îò          = $Ç╝  ;
  3. }
  4.  
  5. { RTMLT2
  6.     I ( ^îò          ) THEN
  7.         @Ç¥   ACTIVATE_TUMOLT
  8. }
  9.  
  10. { READY_TUMOLT                  // CALLED DURING LEVEL LOAD
  11.  
  12.     I ( ^îö           != $Ç╝   ) THEN
  13.         é     
  14.  
  15.     I ( ^îû               ) THEN
  16.         é     
  17.  
  18.     I  @Ç¢              ( TUMOLT ) = $Ç╗    THEN
  19.         {
  20.         Q      ("CAN'T FIND Tumolt !!");
  21.         é     
  22.         }
  23.  
  24.     è          ON
  25.     ï           PLAYER
  26.  
  27.     Y                 LND1 LND2 LND3 LND4 LND5
  28.  
  29.     ö     TUMOLT
  30.     G     PTUMOLT
  31.     £     FTUMOLT
  32.  
  33.     Z       CURFIG ON
  34.  
  35.     M      ATK_STAND CONTINUE
  36.  
  37.     I  @Çæ        (LTHAND,KEYDVICE) = $Ç╗    THEN
  38.         {
  39.         I  @ÇÜ            (KEYDVICE) THEN
  40.             f         LTHAND
  41.         E   
  42.             Q       "Can't find KeyDevice!" // DO NOT TRANSLATE
  43.         }
  44.     I  @Çæ        (RTHAND,TONFA) = $Ç╗    THEN
  45.         {
  46.         I  @ÇÜ            (TONFA) THEN
  47.             f         RTHAND
  48.         E   
  49.             Q       "Can't find tonfa" // DO NOT TRANSLATE
  50.         }
  51. }
  52.  
  53. { ACTIVATE_TUMOLT       // CALLED BY A TRIGGER
  54.  
  55.     I ( ^îö           != $Ç╝   ) THEN
  56.         é     
  57.  
  58.     I ( ^îû               ) THEN
  59.         é     
  60.  
  61.     I  @Ç¢              ( TUMOLT ) = $Ç╗    THEN
  62.         {
  63.         Q      ("CAN'T FIND Tumolt !!");
  64.         é     
  65.         }
  66.  
  67.     A  OFF
  68.  
  69.     ^îû               = $Ç╝  
  70.  
  71.  
  72.     ┬             
  73.  
  74.     @Çì      CONFRONTTUMOLT
  75.     @Ç¥   KEYDVICE_USE
  76.     @Çì      TUMOLT_WALK
  77.  
  78.     //@@@
  79.                 @Ç║       `âû                $üâ       "CAPTAIN: You must be the escaped~prisoner from the base! Halt!"
  80.                 @Ç║       `ç░                $üé       "All I want is to survive."
  81.                 @Ç║       `ç▒                $üé       "If we don't work together~right now we're both dead."
  82.                 @Ç║       `à▒                $üâ       "CAPTAIN: My death means nothing. Let's~see how you take to a stand up fight!"
  83.     O     $Ç¢          
  84.  
  85.     @Çì      KEYDVICE_USE
  86.  
  87.     @Ç¢              ( PLAYER )
  88.     A  ON
  89.  
  90.     @Ç¢              ( TUMOLT )
  91.     W    10
  92.     M      SHOOT
  93.     W    20
  94.     A  ON
  95.  
  96.  
  97. }
  98.  
  99. { CONFRONTTUMOLT
  100.  
  101.     @Ç¢              ( PLAYER )
  102.     A  OFF
  103.     è          ON
  104.     ┴            
  105.  
  106. }
  107.  
  108. { TUMOLT_WALK
  109.     W    10
  110.     G  FTUMOLT WALK 20
  111.     ┴            
  112. }
  113.  
  114. { REACTIVATE_TUMOLT             // CALL DURING MAJOR CAMERA LOAD
  115.  
  116.     I ( ^îö           != $Ç╝   ) THEN
  117.         é     
  118.  
  119.     I ( ^îû               != $Ç╝  ) THEN
  120.         é     
  121.  
  122.     I  @Ç¢              ( TUMOLT ) = $Ç╗    THEN
  123.         {
  124.         Q      ("CAN'T FIND Tumolt !!");
  125.         é     
  126.         }
  127.  
  128.     ┬             
  129.     //@@@
  130.     ^怒          = @Ç║       `à«                $üâ       "CAPTAIN: Come back to take another look~at all the damage you've done?"
  131.     ^ï₧         = @Çÿ            ( `à«                )
  132.     ┴            
  133.     M      SHOOT
  134. }
  135.  
  136. { TUMOLT_AI
  137.  
  138.     P        ~ÇÇ  
  139.  
  140.     ^ïá        = 0;         // SET SUPER-RECOIL COUNTERS TO ZERO
  141.     ^       = 0;
  142.  
  143.     :TOP
  144.  
  145.     â      
  146.  
  147.     I ( ^îû               = $Ç╗    ) THEN
  148.         J    #Çê
  149.  
  150.     // MAKE SURE IT'S OK TO MOVE AROUND AND ATTACK
  151.  
  152.     I ( .ÇéÇâ               != $üì            ) THEN
  153.         J    #Çê
  154.  
  155.     ~ÇÇ   = @Ç¥   MONSTER_MOVE 10
  156.  
  157.     I  ( ~ÇÇ   > 0 ) THEN
  158.         {
  159.         N     ( ~ÇÇ   )
  160.             {
  161.             U    1
  162.             I  @Çô        ("atk_m1") != $Ç╝   THEN
  163.                 M      ATK_M1 CONTINUE
  164.                 X ÇÇ 
  165.             U    2
  166.             I  @Çô        ("atk_m2") != $Ç╝   THEN
  167.                 M      ATK_M2 CONTINUE
  168.                 X ÇÇ 
  169.             U    3
  170.             I  @Çô        ("atk_m3") != $Ç╝   THEN
  171.                 M      ATK_M3 CONTINUE
  172.                 X ÇÇ 
  173.             U    4
  174.             U    6
  175.                 ┴            
  176.                 X ÇÇ 
  177.             U    7
  178.             I  @Çô        ("atk_m7") != $Ç╝   THEN
  179.                 M      ATK_M7 CONTINUE
  180.                 X ÇÇ 
  181.             U    8
  182.             I  @Çô        ("atk_m8") != $Ç╝   THEN
  183.                 M      ATK_M8 CONTINUE
  184.                 X ÇÇ 
  185.             U    9
  186.             I  @Çô        ("atk_m9") != $Ç╝   THEN
  187.                 M      ATK_M9 CONTINUE
  188.                 X ÇÇ 
  189.             U    10
  190.                 I ( ^ïû       ) THEN
  191.                     {
  192.                     M      ATK_SHOOT
  193.                     X ÇÇ 
  194.                     }
  195.                 E   
  196.                     {
  197.                     I  @Çô        ("atk_m10") != $Ç╝   THEN
  198.                         M      ATK_M10 CONTINUE
  199.                     X ÇÇ 
  200.                     }
  201.             }
  202.         }
  203.     E   
  204.         {
  205.                     @Çì      TUMOLT_ATTACK
  206.         }
  207.  
  208.     J    #Çê
  209. }
  210.  
  211. { TUMOLT_ATTACK
  212.  
  213.     N      (@Çà    ( 0, 9 ))
  214.         {
  215.         U    0
  216.             M      ATK_H4
  217.             X Çü 
  218.         U    1
  219.             M      TONFA3
  220.             X Çü 
  221.         U    2
  222.             M      ATK_H7
  223.             X Çü 
  224.         U    3
  225.             M      ATK_H8
  226.             X Çü 
  227.         U    4
  228.         U    5
  229.             M      TONFA1
  230.             X Çü 
  231.         U    6
  232.             M      TONFA2
  233.             X Çü 
  234.         U    7
  235.             M      ATK_F4
  236.             X Çü 
  237.         U    8
  238.             M      ATK_F6
  239.             X Çü 
  240.         U    9
  241.             M      ATK_F7
  242.             X Çü 
  243.         }
  244. }
  245.  
  246. { TUMOLT_STIMULUS( _DAMAGE )
  247.  
  248. :GOT_HIT
  249.  
  250.     I ( @Çó            ( ^ïÜ            ) == $Ç╝   ) THEN
  251.                 ( ^ïÖ           )
  252.     é     
  253.  
  254. :SUPER_RECOIL
  255.     ^       ++
  256.     I (^       = 1) THEN
  257.         {
  258.         W    10
  259.         //@@@
  260.         ^怒          = @Ç║       `ç▓                 $üé     "Your ships were coming to kill me.~You gave me no choice!"
  261.         ^ï₧         = @Çÿ            ( `ç▓                 )
  262.         }
  263.     I (^       = 2) THEN
  264.         {
  265.         W    10
  266.         //@@@
  267.         ^怒          = @Ç║       `ç│                 $üé     "Stop fighting me! We have~to get off this planet NOW!"
  268.         ^ï₧         = @Çÿ            ( `ç│                 )
  269.         }
  270.     I (^       = 4) THEN
  271.         {
  272.         W    10
  273.         //@@@
  274.         ^怒          = @Ç║       `ç░              $üé     "All I want is to survive."
  275.         ^ï₧         = @Çÿ            ( `ç░              )
  276.         }
  277.     I (^       = 6) THEN
  278.         ^       = 0
  279.     é     
  280.  
  281. :PLAYER_ENERGY_DAMAGE
  282.  
  283.     A  OFF
  284.     M      C_TAUNT1 CONTINUE
  285.     //@@@
  286.     ^ïÜ            = @Ç║       `奠               $üâ       "CAPTAIN: I shall attempt to make your~death as slow and painful as possible."
  287.     ^ïÖ            = @Çÿ            ( `奠               )
  288.     @Ç¥   PAUSE_FOR_SUBTITLE
  289.     M      ATK_STAND CONTINUE
  290.     A  ON
  291.     é     
  292.  
  293. :PLAYER_SUPER_RECOILED
  294.     ^ïá        ++
  295.     A  OFF
  296.     I (^ïá        = 1) THEN
  297.         {
  298.         M      C_TAUNT2 CONTINUE
  299.         //@@@
  300.         ^ïÜ            = @Ç║       `à»                $üâ       "CAPTAIN: You killed everyone in my unit!~They died still in the freezers!"
  301.         ^ïÖ            = @Çÿ            ( `à»               )
  302.         }
  303.     I (^ïá        = 3) THEN
  304.         {
  305.         M      C_TAUNT1 CONTINUE
  306.         //@@@
  307.         ^ïÜ            = @Ç║       `奠               $üâ       "CAPTAIN: I shall attempt to make your death~as slow and painful as possible."
  308.         ^ïÖ            = @Çÿ            ( `奠               )
  309.         }
  310.     I (^ïá        = 5) THEN
  311.         ^ïá        = 0
  312.  
  313.     @Ç¥   PAUSE_FOR_SUBTITLE
  314.     A  ON
  315.     é     
  316.  
  317. :KILLED_PLAYER
  318.  
  319.     I ( ^îö           = $Ç╗    ) THEN
  320.         é     
  321.  
  322.     A  OFF
  323.     ┴            
  324.     M      ATK_STAND CONTINUE
  325.     W    1 SECONDS
  326.  
  327.     //@@@
  328.     M      TAUNT1 CONTINUE
  329.                 @Ç║       `à░                  $üâ       "CAPTAIN: That was for my men,~you grotesque son of a bitch!"
  330.     â      
  331.     è          OFF
  332.     M      STAND CONTINUE
  333.  
  334.     é     
  335. }
  336.  
  337. {  TUMOLT_DEATH
  338.  
  339.     ^îö           = $Ç╗   
  340.     A  OFF
  341.     ║            ON
  342.     u          CURFIG OFF
  343.     è          OFF
  344.     M      DIE
  345.     o         
  346.  
  347.     // HAVE HIM DROP THE KEY DEVICE
  348.     I  @Çæ        (LTHAND,KEYDVICE) THEN
  349.         {
  350.         @ÇÜ            (LTHAND)
  351.         f         GROUND
  352.         }
  353.     E   
  354.         Q       "I've lost me key device!"      // DO NOT TRANSLATE
  355.  
  356.     // HAVE HIM DROP THE TONFA GUN
  357.     I  @Çæ        (RTHAND,TONFA) THEN
  358.         {
  359.         @ÇÜ            (RTHAND)
  360.         f         GROUND
  361.         }
  362.     E   
  363.         Q       "I've lost me tonfa!"   // DO NOT TRANSLATE
  364.  
  365.     @Ç¢              (PLAYER)
  366.           A  OFF
  367.     M      ATK_M2 CONTINUE
  368.     W    20
  369.     ┴            
  370.           è          OFF
  371.     M      STAND CONTINUE
  372.     W    1 SECONDS
  373.     M      TAUNT1 CONTINUE
  374.     @Çì      GROWL 5
  375.     //@@@
  376.                 @Ç║       `ç┤                 $üé     "I'm sure I'll be joining you and~your men in hell very shortly."
  377.     M      TAUNT2 CONTINUE
  378.     @Çì      GROWL 5
  379.     //@@@
  380.                 @Ç║       `ç╡                 $üé     "The reactor's still going critical~and I can't stop it."
  381.     M      STAND CONTINUE
  382.     â      
  383.  
  384.     A  ON
  385.     C      UNLOCK
  386.  
  387.     W    10 SECONDS
  388.     i           LEX TUMDED
  389.  
  390. }
  391.  
  392.  
  393. // THIS IS ALL BRUCE'S STUFF....
  394.  
  395. //{ MARINE_ENTER_COMBAT
  396. //    APPLY CURFIG CLEAR MR-HLS PICTURE 1
  397. //      APPLY CURFIG CLEAR MR-HLND PICTURE 2
  398. //      APPLY CURFIG CLEAR MR-HRS PICTURE 3
  399. //      APPLY CURFIG CLEAR MR-RHND PICTURE 4
  400. //}
  401.  
  402. //{ MARINE_LEAVE_COMBAT
  403. //      APPLY CURFIG RESTORE MR-HLS
  404. //      APPLY CURFIG RESTORE MR-HLND
  405. //      APPLY CURFIG RESTORE MR-HRS
  406. //      APPLY CURFIG RESTORE MR-RHND
  407. //}
  408.  
  409.  
  410. //{ MARINE1_WOUNDS
  411. //      @SETCURRENTFIGURE ( MARINE1)
  412. //      @CALL MARINE_WOUNDS
  413. //}
  414.  
  415.  
  416.  
  417. // FOLLOWING ARE LISTED THE POSSIBLE DECALS MARINE CAN HAVE APPLIED
  418. // MAR0PIC.FLC = PICTURE     (THIS IS THE FLIC CONTAINING ALL DECALS)
  419. //   (ORIGINAL TXM MUST BE REDRAWN BEFORE DECAL UNLESS NOTED) (RESTORE) (FISTS)
  420. //   _DMG FLAGS: 1-7 DAMAGE
  421. //
  422. // TEXTURE           TXM      FRAME   _DMG   DECAL
  423. //                   NAME     #       FLAG
  424. // HAND              MR-HLS   1              HAND
  425. // HAND              MR-LHND  2              HAND
  426. // HAND              MR-HRS   3              HAND
  427. // HAND              MR-RHND  4              HAND
  428. // CHEST             MN-CHS1  5       1      CHEST DAM
  429. // CHEST             MN-CHS1  6       2      CHEST DAM 2
  430. // BACK              MR-BCK   7       3      BACK DAM
  431.  
  432.  
  433. //{ MARINE_WOUNDS
  434. //      LOCALVAR _DAMAGESHOWING
  435. //      LOCALVAR _HISHITS
  436. //      LOCALVAR _CHANGED
  437. //      LOCALVAR _WHERE
  438. //      LOCALVAR _DMG
  439. //      LOCALVAR _INCREMENT
  440.  
  441.     // DETERMINE HOW MUCH DAMAGE THE MARINE IS SHOWING.
  442.  
  443. //      _DMG = .CURFIG._DAMAGE
  444.  
  445. //      _DAMAGESHOWING = @COUNTBITS( _DMG, 1, 3 );
  446.  
  447.     // DETERMINE HOW DAMAGED THE MARINE IS.
  448.  
  449. //      _INCREMENT = .CURFIG._MAX_HPS / 4
  450. //      _HISHITS = .CURFIG._HPS / _INCREMENT
  451. //      IF( _HISHITS < 1 ) THEN _HISHITS = 0
  452. //      IF( _HISHITS > 3 ) THEN _HISHITS = 3
  453.  
  454. //      _HISHITS = 3 - _HISHITS
  455.  
  456.     // IF MARINE IS SHOWING LESS DAMAGE THAN HE HAS, DRAW MORE DAMAGE.
  457.  
  458. //      IF( _DAMAGESHOWING < _HISHITS ) THEN
  459. //              {
  460. //              :TOP
  461.  
  462. //              _WHERE = @RANDOM( 1, 3 )
  463.  
  464. //              IF( @GETFLAG( _DMG, _WHERE ) = 1 ) THEN
  465. //                      JUMP TOP
  466. //              ELSE
  467. //                      IF _WHERE = 1 THEN APPLY CURFIG DRAWONLY MN-CHS1 PICTURE 1 MARINE
  468. //                      IF _WHERE = 2 THEN APPLY CURFIG DRAWONLY MN-CHS1 PICTURE 2 MARINE
  469. //                      IF _WHERE = 3 THEN APPLY CURFIG DRAWONLY MR-BCK PICTURE 3 MARINE
  470. //                      SETFLAG( _DMG, _WHERE )
  471. //              _DAMAGESHOWING += 1
  472. //              }
  473.  
  474. //      .CURFIG._DAMAGE = _DMG
  475. //}
  476.  
  477.  
  478. //$ 26 - version number
  479.